-- SPDX-License-Identifier: GPL-3.0-or-later

local extension = Package:new("ling_cards", Package.CardPack)
extension.extensionName = "lingling"

extension:loadSkillSkelsByPath("./packages/lingling/pkg/cards/skills")

extension:addCardSpec("slash", Card.Spade, 7)
extension:addCardSpec("slash", Card.Spade, 8)
extension:addCardSpec("slash", Card.Spade, 9)
extension:addCardSpec("slash", Card.Spade, 9)
extension:addCardSpec("slash", Card.Spade, 9)
extension:addCardSpec("slash", Card.Spade, 10)
extension:addCardSpec("slash", Card.Spade, 10)
extension:addCardSpec("slash", Card.Spade, 10)
extension:addCardSpec("slash", Card.Heart, 10)
extension:addCardSpec("slash", Card.Heart, 10)
extension:addCardSpec("slash", Card.Heart, 10)
extension:addCardSpec("slash", Card.Heart, 11)
extension:addCardSpec("slash", Card.Club, 2)
extension:addCardSpec("slash", Card.Club, 3)
extension:addCardSpec("slash", Card.Club, 4)
extension:addCardSpec("slash", Card.Club, 5)
extension:addCardSpec("slash", Card.Club, 6)
extension:addCardSpec("slash", Card.Club, 7)
extension:addCardSpec("slash", Card.Club, 8)
extension:addCardSpec("slash", Card.Club, 8)
extension:addCardSpec("slash", Card.Club, 8)
extension:addCardSpec("slash", Card.Club, 9)
extension:addCardSpec("slash", Card.Club, 9)
extension:addCardSpec("slash", Card.Club, 10)
extension:addCardSpec("slash", Card.Club, 10)
extension:addCardSpec("slash", Card.Club, 10)
extension:addCardSpec("slash", Card.Club, 11)
extension:addCardSpec("slash", Card.Club, 11)
extension:addCardSpec("slash", Card.Diamond, 6)
extension:addCardSpec("slash", Card.Diamond, 6)
extension:addCardSpec("slash", Card.Diamond, 7)
extension:addCardSpec("slash", Card.Diamond, 7)
extension:addCardSpec("slash", Card.Diamond, 8)
extension:addCardSpec("slash", Card.Diamond, 9)
extension:addCardSpec("slash", Card.Diamond, 10)
extension:addCardSpec("slash", Card.Diamond, 13)

extension:addCardSpec("thunder__slash", Card.Club, 5)
extension:addCardSpec("thunder__slash", Card.Club, 6)
extension:addCardSpec("thunder__slash", Card.Club, 7)
extension:addCardSpec("thunder__slash", Card.Spade, 4)
extension:addCardSpec("thunder__slash", Card.Spade, 5)
extension:addCardSpec("thunder__slash", Card.Spade, 6)
extension:addCardSpec("thunder__slash", Card.Spade, 6)
extension:addCardSpec("thunder__slash", Card.Spade, 7)

extension:addCardSpec("fire__slash", Card.Heart, 4)
extension:addCardSpec("fire__slash", Card.Heart, 7)
extension:addCardSpec("fire__slash", Card.Heart, 10)
extension:addCardSpec("fire__slash", Card.Diamond, 4)
extension:addCardSpec("fire__slash", Card.Diamond, 5)

extension:addCardSpec("ice__slash", Card.Spade, 7)
extension:addCardSpec("ice__slash", Card.Spade, 8)
extension:addCardSpec("ice__slash", Card.Spade, 8)
extension:addCardSpec("ice__slash", Card.Spade, 8)

extension:addCardSpec("jink", Card.Heart, 2)
extension:addCardSpec("jink", Card.Heart, 2)
extension:addCardSpec("jink", Card.Heart, 13)
extension:addCardSpec("jink", Card.Diamond, 2)
extension:addCardSpec("jink", Card.Diamond, 2)
extension:addCardSpec("jink", Card.Diamond, 3)
extension:addCardSpec("jink", Card.Diamond, 4)
extension:addCardSpec("jink", Card.Diamond, 4)
extension:addCardSpec("jink", Card.Diamond, 4)
extension:addCardSpec("jink", Card.Diamond, 5)
extension:addCardSpec("jink", Card.Diamond, 6)
extension:addCardSpec("jink", Card.Diamond, 7)
extension:addCardSpec("jink", Card.Diamond, 8)
extension:addCardSpec("jink", Card.Diamond, 9)
extension:addCardSpec("jink", Card.Diamond, 10)
extension:addCardSpec("jink", Card.Diamond, 11)
extension:addCardSpec("jink", Card.Diamond, 11)
extension:addCardSpec("jink", Card.Heart, 8)
extension:addCardSpec("jink", Card.Heart, 8)
extension:addCardSpec("jink", Card.Heart, 9)
extension:addCardSpec("jink", Card.Heart, 9)
extension:addCardSpec("jink", Card.Heart, 11)
extension:addCardSpec("jink", Card.Heart, 12)
extension:addCardSpec("jink", Card.Diamond, 6)
extension:addCardSpec("jink", Card.Diamond, 7)
extension:addCardSpec("jink", Card.Diamond, 8)
extension:addCardSpec("jink", Card.Diamond, 10)
extension:addCardSpec("jink", Card.Diamond, 11)

extension:addCardSpec("peach", Card.Heart, 3)
extension:addCardSpec("peach", Card.Heart, 4)
extension:addCardSpec("peach", Card.Heart, 5)
extension:addCardSpec("peach", Card.Heart, 6)
extension:addCardSpec("peach", Card.Heart, 6)
extension:addCardSpec("peach", Card.Heart, 6)
extension:addCardSpec("peach", Card.Heart, 7)
extension:addCardSpec("peach", Card.Heart, 8)
extension:addCardSpec("peach", Card.Heart, 9)
extension:addCardSpec("peach", Card.Heart, 12)
extension:addCardSpec("peach", Card.Diamond, 2)
extension:addCardSpec("peach", Card.Diamond, 3)

extension:addCardSpec("ling__analeptic", Card.Spade, 3)
extension:addCardSpec("ling__analeptic", Card.Spade, 9)
extension:addCardSpec("ling__analeptic", Card.Club, 3)
extension:addCardSpec("ling__analeptic", Card.Club, 3)
extension:addCardSpec("ling__analeptic", Card.Club, 9)
extension:addCardSpec("ling__analeptic", Card.Diamond, 9)

--[[extension:addCardSpec("ling__jade", Card.Spade, 3)
extension:addCardSpec("ling__jade", Card.Heart, 3)
extension:addCardSpec("ling__jade", Card.Club, 3)
extension:addCardSpec("ling__jade", Card.Diamond, 3)]]
extension:addCardSpec("ling__lure_tiger", Card.Spade, 3)
extension:addCardSpec("ling__lure_tiger", Card.Club, 3)
extension:addCardSpec("ling__lure_tiger", Card.Diamond, 3)

extension:addCardSpec("ling__dismantlement", Card.Spade, 3)
extension:addCardSpec("ling__dismantlement", Card.Spade, 4)
extension:addCardSpec("ling__dismantlement", Card.Spade, 12)
extension:addCardSpec("ling__dismantlement", Card.Club, 4)
extension:addCardSpec("ling__dismantlement", Card.Heart, 12)

extension:addCardSpec("ling__snatch", Card.Spade, 3)
extension:addCardSpec("ling__snatch", Card.Spade, 4)
extension:addCardSpec("ling__snatch", Card.Diamond, 3)

extension:addCardSpec("duel", Card.Spade, 1)
extension:addCardSpec("duel", Card.Club, 1)
extension:addCardSpec("duel", Card.Diamond, 1)

extension:addCardSpec("ling__coll_horse", Card.Club, 12)
extension:addCardSpec("ling__coll_horse", Card.Club, 13)

extension:addCardSpec("ling__ex_nihilo", Card.Heart, 7)
extension:addCardSpec("ling__ex_nihilo", Card.Heart, 8)
extension:addCardSpec("ling__ex_nihilo", Card.Heart, 9)
extension:addCardSpec("ling__ex_nihilo", Card.Heart, 11)

extension:addCardSpec("ling__nullification", Card.Spade, 11)
extension:addCardSpec("ling__nullification", Card.Club, 12)
extension:addCardSpec("ling__nullification", Card.Club, 12)
extension:addCardSpec("ling__nullification", Card.Club, 13)
extension:addCardSpec("ling__nullification", Card.Diamond, 12)
extension:addCardSpec("ling__nullification", Card.Diamond, 12)
extension:addCardSpec("ling__nullification", Card.Heart, 1)
extension:addCardSpec("ling__nullification", Card.Heart, 13)
extension:addCardSpec("ling__nullification", Card.Spade, 13)

extension:addCardSpec("ling__savage_assault", Card.Spade, 7)
extension:addCardSpec("ling__savage_assault", Card.Spade, 13)
extension:addCardSpec("ling__savage_assault", Card.Club, 7)

extension:addCardSpec("archery_attack", Card.Heart, 1)

extension:addCardSpec("ling__amazing_grace", Card.Heart, 3)
extension:addCardSpec("ling__amazing_grace", Card.Heart, 4)

extension:addCardSpec("iron_chain", Card.Spade, 11)
extension:addCardSpec("iron_chain", Card.Spade, 12)
extension:addCardSpec("iron_chain", Card.Club, 10)
extension:addCardSpec("iron_chain", Card.Club, 11)
extension:addCardSpec("iron_chain", Card.Club, 12)
extension:addCardSpec("iron_chain", Card.Club, 13)

extension:addCardSpec("fire_attack", Card.Heart, 2)
extension:addCardSpec("fire_attack", Card.Heart, 3)
extension:addCardSpec("fire_attack", Card.Diamond, 12)

extension:addCardSpec("ling__sincere_treat", Card.Diamond, 9)
extension:addCardSpec("ling__sincere_treat", Card.Diamond, 10)

extension:addCardSpec("ling__drowning", Card.Spade, 4)

extension:addCardSpec("ling__stop_chasing", Card.Spade, 13)
extension:addCardSpec("ling__stop_chasing", Card.Heart, 6)

extension:addCardSpec("ling__hide_capacities", Card.Heart, 1)
extension:addCardSpec("ling__hide_capacities", Card.Heart, 1)

extension:addCardSpec("ling__divination", Card.Spade, 11)
extension:addCardSpec("ling__divination", Card.Heart, 11)
extension:addCardSpec("ling__divination", Card.Club, 11)
extension:addCardSpec("ling__divination", Card.Diamond, 11)

extension:addCardSpec("ling__groom_and_drill", Card.Club, 13)
extension:addCardSpec("ling__groom_and_drill", Card.Diamond, 13)

extension:addCardSpec("lightning", Card.Spade, 1)
extension:addCardSpec("lightning", Card.Heart, 12)

extension:addCardSpec("ling__waver_morale", Card.Club, 6)
extension:addCardSpec("ling__waver_morale", Card.Heart, 6)

extension:addCardSpec("supply_shortage", Card.Spade, 10)
extension:addCardSpec("supply_shortage", Card.Club, 4)

extension:addCardSpec("ling__inaccurate_spear", Card.Club, 1)
extension:addCardSpec("ling__sacrifice_axe", Card.Diamond, 1)
extension:addCardSpec("ling__qinggang_sword", Card.Spade, 6)
extension:addCardSpec("ling__ice_sword", Card.Spade, 2)
extension:addCardSpec("ling__double_swords", Card.Spade, 2)
extension:addCardSpec("ling__overlord_spear", Card.Spade, 5)
extension:addCardSpec("ling__dragon_stick", Card.Spade, 12)
extension:addCardSpec("ling__axe", Card.Diamond, 5)
extension:addCardSpec("ling__modao", Card.Diamond, 12)
extension:addCardSpec("ling__kylin_bow", Card.Heart, 5)
extension:addCardSpec("ling__guding_blade", Card.Spade, 1)
extension:addCardSpec("ling__fire_gun", Card.Diamond, 1)
extension:addCardSpec("ling__general_bow", Card.Diamond, 13)

extension:addCardSpec("eight_diagram", Card.Spade, 2)
extension:addCardSpec("nioh_shield", Card.Club, 2)
extension:addCardSpec("ling__vine", Card.Spade, 2)
extension:addCardSpec("ling__vine", Card.Club, 2)
extension:addCardSpec("ling__iron_armor", Card.Club, 2)
extension:addCardSpec("ling__silver_lion", Card.Club, 8)
extension:addCardSpec("ling__emperor_grant", Card.Heart, 13)

extension:addCardSpec("ling__dilu", Card.Club, 5)
extension:addCardSpec("ling__jueying", Card.Spade, 5)
extension:addCardSpec("ling__zhuahuangfeidian", Card.Heart, 13)

extension:addCardSpec("ling__chitu", Card.Heart, 5)
extension:addCardSpec("ling__dayuan", Card.Spade, 13)
extension:addCardSpec("ling__zixing", Card.Diamond, 13)

extension:addCardSpec("ling__wooden_ox", Card.Diamond, 5)
extension:addCardSpec("ling__tiger_tally", Card.Spade, 1)
extension:addCardSpec("ling__jade_seal", Card.Club, 1)
extension:addCardSpec("ling__armillary_sphere", Card.Diamond, 1)

local analeptic = fk.CreateCard{
  name = "ling__analeptic",
  type = Card.TypeBasic,
  skill = "analeptic_skill",
}
Fk:loadTranslationTable{
  ["ling__analeptic"] = "酒",
  [":ling__analeptic"] = "基本牌<br/>"..
  "<b>时机</b>：出牌阶段/你处于濒死状态时<br/>"..
  "<b>目标</b>：你<br/>"..
  "<b>效果</b>：目标角色本回合使用的下一张【杀】将要造成的伤害+1/目标角色回复1点体力。",
}

local jade = fk.CreateCard{
  name = "ling__jade",
  type = Card.TypeBasic,
  skill = "ling__jade_skill",
  is_passive = true,
}
Fk:loadTranslationTable{
  ["ling__jade"] = "玉",
  ["jade"] = "玉",
  [":ling__jade"] = "基本牌<br/>"..
  "<b>效果</b>：此牌不计入手牌上限。当其他角色从你的手牌中获得此牌后，或你将此牌交给一名其他角色后，你摸两张牌，其重铸此牌。",

  ["ling__jade_skill"] = "玉",
}

local stolen_horse = fk.CreateCard{
  name = "ling__stolen_horse",
  type = Card.TypeTrick,
  skill = "ling__stolen_horse_skill",
}
Fk:loadTranslationTable{
  ["ling__stolen_horse"] = "穆公盗马",
  ["stolen_horse"] = "穆公盗马",
  [":ling__stolen_horse"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一名装备区有坐骑牌的其他角色<br/>"..
  "<b>效果</b>：你获得其装备区一张坐骑牌，然后其可以令你视为使用【酒】。",

  ["ling__stolen_horse_skill"] = "穆公盗马",
  ["#ling__stolen_horse_skill"] = "获得一名角色装备区的一张坐骑牌，然后其可以令你视为使用【酒】",
}

local coll_horse = fk.CreateCard{
  name = "ling__coll_horse",
  type = Card.TypeTrick,
  skill = "ling__coll_horse_skill",
  special_skills = { "ling__coll_horse_collateral&", "ling__coll_horse_stolen_horse&" },
  is_passive = true,
}
Fk:loadTranslationTable{
  ["ling__coll_horse"] = "借刀盗马",
  ["coll_horse"] = "借刀盗马",
  [":ling__coll_horse"] = "锦囊牌<br/>"..
  "<b>效果</b>：将此牌当【借刀杀人】或<a href=':ling__stolen_horse'>【穆公盗马】</a>使用。",

  ["ling__coll_horse_skill"] = "借刀/盗马",
  ["#ling__coll_horse_skill"] = "将此牌当【借刀杀人】或【穆公盗马】使用。",
}

local ex_nihilo = fk.CreateCard{
  name = "ling__ex_nihilo",
  type = Card.TypeTrick,
  skill = "ex_nihilo_skill",
}
Fk:loadTranslationTable{
  ["ling__ex_nihilo"] = "无中生有",
  [":ling__ex_nihilo"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：你<br/>"..
  "<b>效果</b>：目标角色摸两张牌。",
}

local dismantlement = fk.CreateCard{
  name = "ling__dismantlement",
  type = Card.TypeTrick,
  skill = "ling__dismantlement_skill",
}
Fk:loadTranslationTable{
  ["ling__dismantlement"] = "过河拆桥",
  [":ling__dismantlement"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一名有牌的其他角色<br/>"..
  "<b>效果</b>：你弃置其区域内的一张牌。若你与其距离为1，弃置时观看其手牌。",

  ["ling__dismantlement_skill"] = "过河拆桥",
  ["#ling__dismantlement_skill"] = "选择一名有牌的其他角色，你弃置其区域内的一张牌",
}

local snatch = fk.CreateCard{
  name = "ling__snatch",
  type = Card.TypeTrick,
  skill = "snatch_skill",
}
Fk:loadTranslationTable{
  ["ling__snatch"] = "顺手牵羊",
  [":ling__snatch"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：距离1的一名区域内有牌的角色<br/>"..
  "<b>效果</b>：你获得目标角色区域内的一张牌。",
}

local nullification = fk.CreateCard{
  name = "ling__nullification",
  type = Card.TypeTrick,
  skill = "nullification_skill",
  is_passive = true,
}
Fk:loadTranslationTable{
  ["ling__nullification"] = "无懈可击",
  [":ling__nullification"] = "锦囊牌<br/>"..
  "<b>时机</b>：单目标锦囊牌对目标角色生效前，或一张【无懈可击】生效前<br/>"..
  "<b>目标</b>：该锦囊牌<br/>"..
  "<b>效果</b>：抵消该锦囊牌对该角色产生的效果，或抵消另一张【无懈可击】产生的效果。",
}

local stop_chasing = fk.CreateCard{
  name = "ling__stop_chasing",
  type = Card.TypeTrick,
  skill = "ling__stop_chasing_skill",
  is_damage_card = true,
}
Fk:loadTranslationTable{
  ["ling__stop_chasing"] = "穷寇勿迫",
  ["stop_chasing"] = "穷寇勿迫",
  [":ling__stop_chasing"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一名有手牌的其他角色<br/>"..
  "<b>效果</b>：你展示目标角色一张手牌，然后令其选择一项：将此牌交给你，或受到你造成的1点伤害。",

  ["ling__stop_chasing_skill"] = "穷寇勿迫",
  ["#ling__stop_chasing_skill"] = "选择一名有手牌的其他角色，展示其一张手牌，其选择将此牌交给你或受到你造成的1点伤害",
}

local amazing_grace = fk.CreateCard{
  name = "ling__amazing_grace",
  type = Card.TypeTrick,
  skill = "ling__amazing_grace_skill",
  multiple_targets = true,
}
Fk:loadTranslationTable{
  ["ling__amazing_grace"] = "五谷丰登",
  [":ling__amazing_grace"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：所有角色<br/>"..
  "<b>效果</b>：亮出牌堆顶等于目标角色数的牌，你令至多两名角色各获得其中一张牌，其余目标角色各随机获得一张剩余牌。",

  ["ling__amazing_grace_skill"] = "五谷丰登",
  ["#ling__amazing_grace_skill"] = "亮出牌堆顶存活角色数的牌，你令至多两名角色各获得其中一张牌，其余角色各随机获得一张剩余牌",
}

local savage_assault = fk.CreateCard{
  name = "ling__savage_assault",
  type = Card.TypeTrick,
  skill = "ling__savage_assault_skill",
  is_damage_card = true,
  multiple_targets = true,
}
Fk:loadTranslationTable{
  ["ling__savage_assault"] = "烽火狼烟",
  [":ling__savage_assault"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：所有其他角色<br/>"..
  "<b>效果</b>：每名目标角色需打出一张【杀】，否则受到1点伤害。",

  ["ling__savage_assault_skill"] = "烽火狼烟",
  ["#ling__savage_assault_skill"] = "所有其他角色需打出一张【杀】，否则受到1点伤害",
}

local sincere_treat = fk.CreateCard{
  name = "ling__sincere_treat",
  type = Card.TypeTrick,
  skill = "sincere_treat_skill",
}
Fk:loadTranslationTable{
  ["ling__sincere_treat"] = "推心置腹",
  [":ling__sincere_treat"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：距离为1的一名区域内有牌的其他角色<br/>"..
  "<b>效果</b>：你获得目标角色区域里至多两张牌，然后交给其等量的手牌。",
}

local drowning = fk.CreateCard{
  name = "ling__drowning",
  type = Card.TypeTrick,
  skill = "ling__drowning_skill",
  is_damage_card = true,
}
Fk:loadTranslationTable{
  ["ling__drowning"] = "水淹七军",
  ["drowning"] = "水淹七军",
  [":ling__drowning"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一名装备区里有牌的其他角色<br/>"..
  "<b>效果</b>：目标角色选择一项：1.弃置装备区所有牌；2.你对其造成1点雷电伤害。",

  ["ling__drowning_skill"] = "水淹七军",
  ["#ling__drowning_skill"] = "选择一名装备区有牌的其他角色，其选择弃置装备区所有牌或你对其造成1点雷电伤害",
}

local hide_capacities = fk.CreateCard{
  name = "ling__hide_capacities",
  type = Card.TypeTrick,
  skill = "ling__hide_capacities_skill",
}
Fk:loadTranslationTable{
  ["ling__hide_capacities"] = "韬光养晦",
  ["hide_capacities"] = "韬光养晦",
  [":ling__hide_capacities"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：你<br/>"..
  "<b>效果</b>：目标角色弃置两张牌，然后摸两张牌；若体力最少，再回复1点体力。",

  ["ling__hide_capacities_skill"] = "韬光养晦",
  ["#ling__hide_capacities_skill"] = "弃置两张牌，然后摸两张牌；若体力最少，再回复1点体力",
}

local divination = fk.CreateCard{
  name = "ling__divination",
  type = Card.TypeTrick,
  skill = "ling__divination_skill",
}
Fk:loadTranslationTable{
  ["ling__divination"] = "占卜吉凶",
  ["divination"] = "占卜吉凶",
  [":ling__divination"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：你<br/>"..
  "<b>效果</b>：目标角色卜算4，然后摸一张牌。",

  ["ling__divination_skill"] = "占卜吉凶",
  ["#ling__divination_skill"] = "观看牌堆顶四张牌，以任意顺序置于牌堆顶或牌堆底，然后摸一张牌",
}

local groom_and_drill = fk.CreateCard{
  name = "ling__groom_and_drill",
  type = Card.TypeTrick,
  skill = "ling__groom_and_drill_skill",
}
Fk:loadTranslationTable{
  ["ling__groom_and_drill"] = "厉兵秣马",
  ["groom_and_drill"] = "厉兵秣马",
  [":ling__groom_and_drill"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：你<br/>"..
  "<b>效果</b>：目标角色选择武器牌或坐骑牌，从牌堆随机两张该类型的牌中选择一张获得，然后你可以交给一名其他角色一张牌，若为装备牌，其可以使用之。",

  ["ling__groom_and_drill_skill"] = "厉兵秣马",
  ["#ling__groom_and_drill_skill"] = "从牌堆随机两张武器牌或坐骑牌中选择一张获得，然后可以交给一名其他角色一张牌",
}

local waver_morale = fk.CreateCard{
  name = "ling__waver_morale",
  type = Card.TypeTrick,
  sub_type = Card.SubtypeDelayedTrick,
  skill = "ling__waver_morale_skill",
}
Fk:loadTranslationTable{
  ["ling__waver_morale"] = "动摇军心",
  ["waver_morale"] = "动摇军心",
  [":ling__waver_morale"] = "延时锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一名其他角色使用<br/>"..
  "<b>效果</b>：将此牌置于目标角色判定区内。其判定阶段进行判定：若结果不为<font color='red'>♥</font>，其本回合出牌阶段不能对"..
  "除其以外的角色使用牌。然后将【动摇军心】置入弃牌堆。",

  ["ling__waver_morale_skill"] = "动摇军心",
  ["#ling__waver_morale_skill"] = "选择一名其他角色，将此牌置于其判定区内。其判定阶段判定：<br/>"..
  "若结果不为<font color='red'>♥</font>，其本回合出牌阶段不能对其以外的角色使用牌",
}

local fire_gun = fk.CreateCard{
  name = "ling__fire_gun",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 3,
  equip_skill = "#ling__fire_gun_skill",
}
Fk:loadTranslationTable{
  ["ling__fire_gun"] = "突火枪",
  ["fire_gun"] = "突火枪",
  [":ling__fire_gun"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：3<br/>"..
  "<b>武器技能</b>：你可以将普通【杀】当火【杀】使用。你使用非转化的实体火【杀】造成的伤害+1。",
}

local modao = fk.CreateCard{
  name = "ling__modao",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__modao_skill",
}
Fk:loadTranslationTable{
  ["ling__modao"] = "陌刀",
  ["modao"] = "陌刀",
  [":ling__modao"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：当你使用【杀】指定目标时，你可以弃置两张手牌（不足全弃，无牌不弃），使此【杀】额外指定至多两名目标。",
}

local ice_sword = fk.CreateCard{
  name = "ling__ice_sword",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__ice_sword_skill",
}
Fk:loadTranslationTable{
  ["ling__ice_sword"] = "寒冰剑",
  [":ling__ice_sword"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：你可以将普通【杀】当冰【杀】使用。你使用非转化的实体冰【杀】无法抵消。",
}

local double_swords = fk.CreateCard{
  name = "ling__double_swords",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__double_swords_skill",
}
Fk:loadTranslationTable{
  ["ling__double_swords"] = "干将莫邪",
  [":ling__double_swords"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：当你使用【杀】指定体力为4或1的角色为目标后，你可以令其选择一项：弃置一张牌，或令你摸一张牌。",
}

local axe = fk.CreateCard{
  name = "ling__axe",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 1,
  equip_skill = "#ling__axe_skill",
}
Fk:loadTranslationTable{
  ["ling__axe"] = "贯石斧",
  [":ling__axe"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：1<br/>"..
  "<b>武器技能</b>：当你使用的【杀】被【闪】抵消后，你可以弃置两张牌，则此【杀】依然造成伤害。",
}

local dragon_stick = fk.CreateCard{
  name = "ling__dragon_stick",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "ling__dragon_stick_skill&",
}
Fk:loadTranslationTable{
  ["ling__dragon_stick"] = "大盘龙棍",
  ["dragon_stick"] = "大盘龙棍",
  [":ling__dragon_stick"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：你可以将两张手牌当【杀】使用或打出，若为打出你摸一张牌。",
}

local kylin_bow = fk.CreateCard{
  name = "ling__kylin_bow",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 4,
  equip_skill = "#ling__kylin_bow_skill",
}
Fk:loadTranslationTable{
  ["ling__kylin_bow"] = "麒麟弓",
  [":ling__kylin_bow"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：4<br/>"..
  "<b>武器技能</b>：当你使用【杀】对目标角色造成伤害时，你可以弃置其装备区里的一张坐骑牌。",
}

local qinggang_sword = fk.CreateCard{
  name = "ling__qinggang_sword",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__qinggang_sword_skill",
}
Fk:loadTranslationTable{
  ["ling__qinggang_sword"] = "青釭剑",
  [":ling__qinggang_sword"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：锁定技，你使用的【杀】无视防具。",
}

local guding_blade = fk.CreateCard{
  name = "ling__guding_blade",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__guding_blade_skill",
}
Fk:loadTranslationTable{
  ["ling__guding_blade"] = "古锭刀",
  [":ling__guding_blade"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：锁定技，你使用【杀】对没有手牌的角色造成的伤害+1。",
}

local overlord_spear = fk.CreateCard{
  name = "ling__overlord_spear",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__overlord_spear_skill",
}
Fk:loadTranslationTable{
  ["ling__overlord_spear"] = "霸王枪",
  ["overlord_spear"] = "霸王枪",
  [":ling__overlord_spear"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：当你使用或打出【闪】后，你可以使用一张无法抵消的【杀】。",
}

local sacrifice_axe = fk.CreateCard{
  name = "ling__sacrifice_axe",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 1,
  equip_skill = "#ling__sacrifice_axe_skill",
}
Fk:loadTranslationTable{
  ["ling__sacrifice_axe"] = "祭祀斧",
  ["sacrifice_axe"] = "祭祀斧",
  [":ling__sacrifice_axe"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：1<br/>"..
  "<b>武器技能</b>：锁定技，当你使用【杀】造成伤害后，你回复1点体力。",
}

local inaccurate_spear = fk.CreateCard{
  name = "ling__inaccurate_spear",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 2,
  equip_skill = "#ling__inaccurate_spear_skill",
  on_uninstall = function(self, room, player)
    Weapon.onUninstall(self, room, player)
    player.room:setPlayerMark(player, "#ling__inaccurate_spear_skill", 0)
  end,
}
Fk:loadTranslationTable{
  ["ling__inaccurate_spear"] = "不正矛",
  ["inaccurate_spear"] = "不正矛",
  [":ling__inaccurate_spear"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：2<br/>"..
  "<b>武器技能</b>：锁定技，你使用的【杀】目标改为随机目标，且造成伤害后：你选择令其摸或弃置两张牌、若与上一次目标相同则弃置此牌。",
}

local general_bow = fk.CreateCard{
  name = "ling__general_bow",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeWeapon,
  attack_range = 3,
  equip_skill = "#ling__general_bow_skill",
}
Fk:loadTranslationTable{
  ["ling__general_bow"] = "将军弩",
  ["general_bow"] = "将军弩",
  [":ling__general_bow"] = "装备牌·武器<br/>"..
  "<b>攻击范围</b>：3<br/>"..
  "<b>武器技能</b>：锁定技，当你使用【杀】杀死一名角色后，你加1点体力上限，回复1点体力。",
}

local silver_lion = fk.CreateCard{
  name = "ling__silver_lion",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeArmor,
  equip_skill = "#ling__silver_lion_skill",
}
Fk:loadTranslationTable{
  ["ling__silver_lion"] = "白银狮子",
  [":ling__silver_lion"] = "装备牌·防具<br/>"..
  "<b>防具技能</b>：锁定技，当你受到伤害时，若此伤害大于1点，防止多余的伤害。当你每轮首次失去装备区里的【白银狮子】后，你回复1点体力，"..
  "若你未受伤则改为摸两张牌。",
}

local vine = fk.CreateCard{
  name = "ling__vine",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeArmor,
  equip_skill = "#ling__vine_skill",
  on_uninstall = function(self, room, player)
    Weapon.onUninstall(self, room, player)
    player.room:setPlayerMark(player, "#ling__vine_skill", 0)
  end,
}
Fk:loadTranslationTable{
  ["ling__vine"] = "藤甲",
  [":ling__vine"] = "装备牌·防具<br/>"..
  "<b>防具技能</b>：锁定技，普通【杀】、【万箭齐发】、【烽火狼烟】对你无效，累计以此法无效三次后弃置此牌。当你受到火焰伤害时，此伤害+1。",
}

local emperor_grant = fk.CreateCard{
  name = "ling__emperor_grant",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeArmor,
  equip_skill = "#ling__emperor_grant_skill",
}
Fk:loadTranslationTable{
  ["ling__emperor_grant"] = "丹书铁券",
  ["emperor_grant"] = "丹书铁券",
  [":ling__emperor_grant"] = "装备牌·防具<br/>"..
  "<b>防具技能</b>：当其他角色使用【杀】指定你为目标后，你可以与其拼点，没赢者摸一张牌，若你赢则此【杀】对你无效。",
}

local iron_armor = fk.CreateCard{
  name = "ling__iron_armor",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeArmor,
  equip_skill = "#ling__iron_armor_skill",
}
Fk:loadTranslationTable{
  ["ling__iron_armor"] = "明光铠",
  ["iron_armor"] = "明光铠",
  [":ling__iron_armor"] = "装备牌·防具<br/>"..
  "<b>防具技能</b>：锁定技，雷【杀】和火【杀】对你无效。当你使用此牌后，或【铁索连环】对你生效后，解除连环状态。",
}

local wooden_ox = fk.CreateCard{
  name = "ling__wooden_ox",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeTreasure,
  equip_skill = "#ling__wooden_ox_skill",
}
Fk:loadTranslationTable{
  ["ling__wooden_ox"] = "木牛流马",
  ["wooden_ox"] = "木牛流马",
  [":ling__wooden_ox"] = "装备牌·宝物<br/>"..
  "<b>宝物技能</b>：弃牌阶段结束时，你可以任意分配至多两张此阶段你弃置的牌给任意角色。",
}

local tiger_tally = fk.CreateCard{
  name = "ling__tiger_tally",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeTreasure,
  equip_skill = "#ling__tiger_tally_skill",
}
Fk:loadTranslationTable{
  ["ling__tiger_tally"] = "虎符",
  ["tiger_tally"] = "虎符",
  [":ling__tiger_tally"] = "装备牌·宝物<br/>"..
  "<b>宝物技能</b>：摸牌阶段结束时，你可以令一名角色选择使用或获得一张【杀】。",
}

local jade_seal = fk.CreateCard{
  name = "ling__jade_seal",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeTreasure,
  equip_skill = "#ling__jade_seal_skill",
}
Fk:loadTranslationTable{
  ["ling__jade_seal"] = "玉玺",
  ["jade_seal"] = "玉玺",
  [":ling__jade_seal"] = "装备牌·宝物<br/>"..
  "<b>宝物技能</b>：出牌阶段开始时，或当你使用此牌后，你可以令一名其他角色交给你一张牌，本阶段结束时你交给其一张牌。",
}

local armillary_sphere = fk.CreateCard{
  name = "ling__armillary_sphere",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeTreasure,
  equip_skill = "#ling__armillary_sphere_skill",
}
Fk:loadTranslationTable{
  ["ling__armillary_sphere"] = "浑天仪",
  ["armillary_sphere"] = "浑天仪",
  [":ling__armillary_sphere"] = "装备牌·宝物<br/>"..
  "<b>宝物技能</b>：判定阶段开始时，你可以重铸你区域内的一张牌。",
}

local dilu = fk.CreateCard{
  name = "ling__dilu",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeDefensiveRide,
  equip_skill = "#ling__dilu_skill",
}
Fk:loadTranslationTable{
  ["ling__dilu"] = "的卢",
  [":ling__dilu"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：其他角色与你的距离+1。",
}

local jueying = fk.CreateCard{
  name = "ling__jueying",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeDefensiveRide,
  equip_skill = "#ling__jueying_skill",
}
Fk:loadTranslationTable{
  ["ling__jueying"] = "绝影",
  [":ling__jueying"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：其他角色与你的距离+1。",
}

local zhuahuangfeidian = fk.CreateCard{
  name = "ling__zhuahuangfeidian",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeDefensiveRide,
  equip_skill = "#ling__zhuahuangfeidian_skill",
}
Fk:loadTranslationTable{
  ["ling__zhuahuangfeidian"] = "爪黄飞电",
  [":ling__zhuahuangfeidian"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：其他角色与你的距离+1。",
}

local chitu = fk.CreateCard{
  name = "ling__chitu",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeOffensiveRide,
  equip_skill = "#ling__chitu_skill",
}
Fk:loadTranslationTable{
  ["ling__chitu"] = "赤兔",
  [":ling__chitu"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：锁定技，你与其他角色的距离-1。",
}

local dayuan = fk.CreateCard{
  name = "ling__dayuan",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeOffensiveRide,
  equip_skill = "#ling__dayuan_skill",
}
Fk:loadTranslationTable{
  ["ling__dayuan"] = "大宛",
  [":ling__dayuan"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：锁定技，你与其他角色的距离-1。",
}

local zixing = fk.CreateCard{
  name = "ling__zixing",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeOffensiveRide,
  equip_skill = "#ling__zixing_skill",
}
Fk:loadTranslationTable{
  ["ling__zixing"] = "紫骍",
  [":ling__zixing"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：锁定技，你与其他角色的距离-1。",
}

----------------------------------------------------------------------------------------------------

local lure_tiger = fk.CreateCard{
  name = "ling__lure_tiger",
  type = Card.TypeTrick,
  skill = "ling__lure_tiger_skill",
  multiple_targets = true,
  special_skills = { "recast" },
}
Fk:loadTranslationTable{
  ["ling__lure_tiger"] = "调虎离山",
  ["lure_tiger"] = "调虎离山",
  [":ling__lure_tiger"] = "锦囊牌<br/>"..
  "<b>时机</b>：出牌阶段<br/>"..
  "<b>目标</b>：一至两名其他角色<br/>"..
  "<b>效果</b>：目标角色于此回合内不计入距离和座次的计算，且不能使用牌，且不是牌的合法目标，且体力值不会改变。",

  ["ling__lure_tiger_skill"] = "调虎离山",
  ["#ling__lure_tiger_skill"] = "令一至两名角色本回合移出游戏",
}

local jingfan = fk.CreateCard{
  name = "ling__jingfan",
  type = Card.TypeEquip,
  sub_type = Card.SubtypeOffensiveRide,
  equip_skill = "#ling__jingfan_skill",
}
Fk:loadTranslationTable{
  ["ling__jingfan"] = "惊帆",
  [":ling__jingfan"] = "装备牌·坐骑<br/>"..
  "<b>坐骑技能</b>：锁定技，你与其他角色的距离-2。",
}

extension:loadCardSkels {
  analeptic,
  jade,

  stolen_horse,
  coll_horse,
  ex_nihilo,
  dismantlement,
  snatch,
  amazing_grace,
  nullification,
  stop_chasing,
  savage_assault,
  sincere_treat,
  drowning,
  hide_capacities,
  divination,
  groom_and_drill,
  waver_morale,

  fire_gun,
  modao,
  ice_sword,
  double_swords,
  axe,
  dragon_stick,
  kylin_bow,
  qinggang_sword,
  guding_blade,
  overlord_spear,
  sacrifice_axe,
  inaccurate_spear,
  general_bow,

  silver_lion,
  vine,
  emperor_grant,
  iron_armor,

  wooden_ox,
  tiger_tally,
  jade_seal,
  armillary_sphere,

  dilu,
  jueying,
  zhuahuangfeidian,
  chitu,
  dayuan,
  zixing,

  lure_tiger,
  jingfan,
}

return extension
